/******************************************************************************
 * Copyright (C) 2014 ShenZhen YiHua Computer Co., Ltd.
 * All Rights Reserved.
 * 本软件为深圳怡化电脑股份有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体
 * 不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package net.dgg.dggcloud.service.jrcrm.service.business;

import net.dgg.dggcloud.core.DggApplicationContext;
import net.dgg.dggcloud.core.util.NJCodeUtil;
import net.dgg.dggcloud.core.util.StringUtils;
import  net.dgg.dggcloud.service.jrcrm.utils.TranslateMapUtil;

import java.util.List;
import java.util.Map;


/**
 * 客户资质解析工具类
 * @author  罗金
 * @date    2017年11月10日
 * @version v1.0
 */
public class CustomerAttrUtil {

	private static NJCodeUtil njCodeUtil = null;

	/**
	 * 翻译客户属性-只用于客户列表查询<br/>
	 * @param mapList <br/>
	 * customerattrflag：客户属性key<br/>
	 * @return
	 */
	public static List<Map> translateCusAttr(List<Map> mapList){
		//翻译客户属性（逗号分隔code）
		if(mapList.size()>0){
		for (Map map: mapList) {
			if(null != map.get("customerattrflag")){
				String[] cusAttrArr = map.get("customerattrflag").toString().split(",");
				StringBuffer afterTranslate = new StringBuffer();//接收翻译后的客户属性
				for (String str: cusAttrArr) {
					afterTranslate.append(TranslateMapUtil.translateCode(str) + ",");
				}
				map.put("customerattrflag", afterTranslate.substring(0, afterTranslate.length() - 1));
			}
			if(null != map.get("customerphone")&&map.get("customerphone")!="") {
				map.put("customerphonehid",map.get("customerphone"));
				if(njCodeUtil == null){
					njCodeUtil = DggApplicationContext.getBean(NJCodeUtil.class);
				}
				String number = njCodeUtil.decrypt(null == map.get("customerphone")?"":map.get("customerphone").toString());
				map.put("customerphone",StringUtils.encryptionNumber(number));

			}
			if(null != map.get("callin")&&map.get("callin")!="") {
				map.put("callin",StringUtils.encryptionNumber(map.get("callin").toString()));
			}
			if(null != map.get("dst")&&map.get("dst")!="") {
				map.put("dst",StringUtils.encryptionNumber(map.get("dst").toString()));
			}
		}}
		return mapList;
	}

	/**
	 * 翻译客户属性-用于多个属性拼接<br/>
	 * @param mapList <br/>
	 * customerattrflag：客户属性key<br/>
	 * @return
	 */
	public static List<Map> translateExcel(List<Map> mapList){
		//翻译客户属性（逗号分隔code）
		for (Map map: mapList) {
			if(null != map.get("customerattrflag")){
				String[] cusAttrArr = map.get("customerattrflag").toString().split(",");
				StringBuffer afterTranslate = new StringBuffer();//接收翻译后的客户属性
				for (String str: cusAttrArr) {
					afterTranslate.append(TranslateMapUtil.translateCode(str) + ",");
				}
				map.put("customerattrflag", afterTranslate.substring(0, afterTranslate.length() - 1));
			}
			if(null != map.get("no")) {
				map.put("no",map.get("no")+""+map.get("typecode")==null?"":map.get("typecode"));
			}
			map.put("followtimes",map.get("followtimes")==null?"0":map.get("followtimes")+"/"+map.get("zq")==null?"":map.get("zq"));


		}
		return mapList;
	}
}
